<?php
/**
 * View_Category
 *
 * Класс View_Category отвечает за вывод информации, связанной с категориями
 *
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 1.0
 */
class View_Category extends View_Base {

	/**
	 * Выводит форму добавления/редактирвоания категории
	 * 
	 * @param Category $objCategory
	 */
	public function showEditForm(Category $objCategory) {
		Service_Debug::setDebug();
		$objForm = new Form_ViewForm(array(
			'errorIfExists' => true, 
			'leftWidth' => 200
		), $objCategory);
		$objForm->show();
		
		$objForm->textField(array('maxlength' => 128, 'text' => 'Название категории', 'required' => 1), 'category_name');
		
		$objForm->textField(array('maxlength' => 128, 'text' => 'URL', 'required' => 1), 'url');
		
		$objForm->textField(array('maxlength' => 128, 'text' => 'Meta-Title', 'required' => 1), 'title');
				
		$objForm->textField(array('maxlength' => 128, 'text' => 'Meta-description'), 'description');

		$objForm->textField(array('maxlength' => 128, 'text' => 'Meta-keywords'), 'keywords');
		
		//Вывод WYSIWYG-поля
		$arrWysiwygSettings = array(
		  'rows' => 15, 
		  'cols' =>120, 
		  'text' => 'Текст', 
		  'class' => 'wysiwygAdmin',
		  'wideTextarea' => true 
		);
		$objForm->textareaField($arrWysiwygSettings, 'text');
		$objForm->submitButton(array(), 'save');
		$objForm->close();
	}
	
	
	/**
	 * (non-PHPdoc)
	 * @see View_Base::showOneInList()
	 */
	public function showOneInAdminList($arrCategories) {
		Service_Debug::setDebug();
		echo '<li>';
			echo '<a href="' . W_ABSPATH . $arrCategories['url'] . '">';
				echo $arrCategories['category_name'];
		  	echo '</a>';
		echo '</li>';
	}
	
	/**
	 * Метод отображает список элементов переданного массива
	 *
	 * @param array $arrList - массив элементов для отображения в списке
	 */
	public function showAdminList(array $arrCategories) {
		Service_Debug::setDebug();
		echo '<div id="categories_box">';
   		echo '<ul>';
      	if (!$arrCategories) $this->showEmptyListMessage();
  	 	else {
	      	foreach ($arrCategories as $arrCategory) {
	      	$this->showOneInAdminList($arrCategory);
	    	}
	    }
		echo '</ul>';
		echo '</div>'; 
	}
	
	/**
	 * Метод отображает страницу категории
	 *
	 * @param array $arrCategory - массив элементов для отображения в списке
	 */
	public function showCategoryPage($objCategory,$arrMasters = null) {
		Service_Debug::setDebug();
		echo '<div>';
			echo$objCategory->getField('text');
			if ($arrMasters) {
				echo '<div> Мастера категории:';
				foreach ($arrMasters as $arrMaster) {
					echo '<p>
						  	<a href="' . W_ABSPATH . 'master/' .  $arrMaster['ID_user'] . '">' 
					 	 	. $arrMaster['first_name'] . ' ' . $arrMaster['last_name'] . '</a> 
				  		 </p>
						</div>';
				}
			}
		echo '</div>';
	}
	
	
}
?>